package com.wanyangproject.androidlearning.designMode.chainOfResponsibity;

import java.util.Random;

public class ChainTest {

    /*
    * 责任链模式：类似击鼓传花的游戏，请求者发送一个请求，接收者都实现了同一个处理事务的接口，一级一级的往下传，每一个接收者决定是自己处理还是往下传递，都持有对下一个接收者的引用。
    * 优点：解耦。扩展方便。
    * 缺点：若接收者过多则有可能创建很多无用对象，消耗了性能。
    *
    * 例子：一个客户向一个公司提出一笔订单合作请求，公司里的销售，销售经理，总经理，总裁依次对该事务进行处理。客户即为client（请求者），公司里的人员为handler，处理事务为抽象接口。
    *
    * */
    public static void main(String[] args){
        Client client = new Client(HandlerFactory.creatHandler());

        Random random = new Random();
        for (int i=0;i<100;i++){
            System.out.println("第"+i+"个。。。");
            client.requestBuniess(random.nextFloat());
        }


    }


}
